home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 9.5 KB | 250 lines | [TEXT/MPS ] |
- (*
- File: StandardFile.mod
-
- Contains: Standard File package Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE StandardFile;
-
- IMPORT SYSTEM, Types, Events, Dialogs, Files;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- (* resource IDs and item offsets of pre-7.0 dialogs *)
- putDlgID* = -3999;
- putSave* = 1;
- putCancel* = 2;
- putEject* = 5;
- putDrive* = 6;
- putName* = 7;
- getDlgID* = -4000;
- getOpen* = 1;
- getCancel* = 3;
- getEject* = 5;
- getDrive* = 6;
- getNmList* = 7;
- getScroll* = 8;
- (* resource IDs and item offsets of 7.0 dialogs *)
- sfPutDialogID* = -6043;
- sfGetDialogID* = -6042;
- sfItemOpenButton* = 1;
- sfItemCancelButton* = 2;
- sfItemBalloonHelp* = 3;
- sfItemVolumeUser* = 4;
- sfItemEjectButton* = 5;
-
- sfItemDesktopButton* = 6;
- sfItemFileListUser* = 7;
- sfItemPopUpMenuUser* = 8;
- sfItemDividerLinePict* = 9;
- sfItemFileNameTextEdit* = 10;
- sfItemPromptStaticText* = 11;
- sfItemNewFolderUser* = 12;
- (* pseudo-item hits for use in DlgHook *)
- sfHookFirstCall* = -1;
- sfHookCharOffset* = $1000;
- sfHookNullEvent* = 100;
- sfHookRebuildList* = 101;
- sfHookFolderPopUp* = 102;
- sfHookOpenFolder* = 103;
- (* the following are only in system 7.0+ *)
- sfHookOpenAlias* = 104;
- sfHookGoToDesktop* = 105;
- sfHookGoToAliasTarget* = 106;
- sfHookGoToParent* = 107;
- sfHookGoToNextDrive* = 108;
- sfHookGoToPrevDrive* = 109;
- sfHookChangeSelection* = 110;
-
- sfHookSetActiveOffset* = 200;
- sfHookLastCall* = -2;
-
- (* the refcon field of the dialog record during a
- modalfilter or dialoghook contains one of the following *)
- sfMainDialogRefCon* = LONG("stdf");
- sfNewFolderDialogRefCon* = LONG("nfdr");
- sfReplaceDialogRefCon* = LONG("rplc");
- sfStatWarnDialogRefCon* = LONG("stat");
- sfLockWarnDialogRefCon* = LONG("lock");
- sfErrorDialogRefCon* = LONG("err ");
-
-
- TYPE
- SFReply* = RECORD
- good*: BOOLEAN;
- copy*: BOOLEAN;
- fType*: Types.OSType;
- vRefNum*: INTEGER;
- version*: INTEGER;
- fName*: Types.Str63;
- END;
-
- StandardFileReply* = RECORD
- sfGood*: BOOLEAN;
- sfReplacing*: BOOLEAN;
- sfType*: Types.OSType;
- sfFile*: Files.FSSpec;
- sfScript*: Types.ScriptCode;
- sfFlags*: INTEGER;
- sfIsFolder*: BOOLEAN;
- sfIsVolume*: BOOLEAN;
- sfReserved1*: LONGINT;
- sfReserved2*: INTEGER;
- END;
-
- (* for CustomXXXFile, ActivationOrderListPtr parameter is a pointer to an array of item numbers *)
- ActivationOrderListPtr* = SYSTEM.PTR (*ΔΔ POINTER TO INTEGER*);
-
- (* the following also include an extra parameter of "your data pointer" *)
- DlgHookProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (item: INTEGER; theDialog: Dialogs.DialogPtr): INTEGER;
- FileFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (pb: Files.CInfoPBPtr): BOOLEAN;
- DlgHookYDProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (item: INTEGER; theDialog: Dialogs.DialogPtr; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr): INTEGER;
- ModalFilterYDProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; VAR itemHit: INTEGER; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr): BOOLEAN;
- FileFilterYDProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (pb: Files.CInfoPBPtr; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr): BOOLEAN;
- ActivateYDProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theDialog: Dialogs.DialogPtr; itemNo: INTEGER; activating: BOOLEAN; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr);
- DlgHookUPP* = Types.UniversalProcPtr;
- FileFilterUPP* = Types.UniversalProcPtr;
- DlgHookYDUPP* = Types.UniversalProcPtr;
- ModalFilterYDUPP* = Types.UniversalProcPtr;
- FileFilterYDUPP* = Types.UniversalProcPtr;
- ActivateYDUPP* = Types.UniversalProcPtr;
-
- CONST
- uppDlgHookProcInfo* = $000003A0; (* PROCEDURE (2 byte param, 4 byte param): 2 byte result; *)
- uppFileFilterProcInfo* = $000000D0; (* PROCEDURE (4 byte param): 1 byte result; *)
- uppDlgHookYDProcInfo* = $00000FA0; (* PROCEDURE (2 byte param, 4 byte param, 4 byte param): 2 byte result; *)
- uppModalFilterYDProcInfo* = $00003FD0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 4 byte param): 1 byte result; *)
- uppFileFilterYDProcInfo* = $000003D0; (* PROCEDURE (4 byte param, 4 byte param): 1 byte result; *)
- uppActivateYDProcInfo* = $000036C0; (* PROCEDURE (4 byte param, 2 byte param, 1 byte param, 4 byte param); *)
-
- PROCEDURE NewDlgHookProc*(userRoutine: DlgHookProcPtr): DlgHookUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileFilterProc*(userRoutine: FileFilterProcPtr): FileFilterUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewDlgHookYDProc*(userRoutine: DlgHookYDProcPtr): DlgHookYDUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewModalFilterYDProc*(userRoutine: ModalFilterYDProcPtr): ModalFilterYDUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewFileFilterYDProc*(userRoutine: FileFilterYDProcPtr): FileFilterYDUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewActivateYDProc*(userRoutine: ActivateYDProcPtr): ActivateYDUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallDlgHookProc*(item: INTEGER; theDialog: Dialogs.DialogPtr; userRoutine: DlgHookUPP): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileFilterProc*(pb: Files.CInfoPBPtr; userRoutine: FileFilterUPP): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallDlgHookYDProc*(item: INTEGER; theDialog: Dialogs.DialogPtr; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: DlgHookYDUPP): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallModalFilterYDProc*(theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; VAR itemHit: INTEGER; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: ModalFilterYDUPP): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallFileFilterYDProc*(pb: Files.CInfoPBPtr; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: FileFilterYDUPP): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallActivateYDProc*(theDialog: Dialogs.DialogPtr; itemNo: INTEGER; activating: BOOLEAN; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: ActivateYDUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- TYPE
- SFTypeList* = ARRAY 4 (*ΔΔ[0..3]ΔΔ*) OF Types.OSType;
-
- (*
- The GetFile "typeList" parameter type has changed from "SFTypeList" to "ConstSFTypeListPtr".
- For C, this will add "const" and make it an in-only parameter.
- For Pascal, this will require client code to use the . operator, but make it easier to specify long lists.
-
- ConstSFTypeListPtr is a pointer to an array of OSTypes.
- *)
- ConstSFTypeListPtr* = POINTER TO ARRAY OF Types.OSType;
-
-
- PROCEDURE SFPutFile*(where: Types.Point; prompt: Types.ConstStr255Param; origName: Types.ConstStr255Param; dlgHook: DlgHookUPP; VAR reply: SFReply);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0001, $A9EA;
- (*$END*)
- PROCEDURE SFGetFile*(where: Types.Point; prompt: Types.ConstStr255Param; fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; dlgHook: DlgHookUPP; VAR reply: SFReply);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0002, $A9EA;
- (*$END*)
- PROCEDURE SFPPutFile*(where: Types.Point; prompt: Types.ConstStr255Param; origName: Types.ConstStr255Param; dlgHook: DlgHookUPP; VAR reply: SFReply; dlgID: INTEGER; filterProc: Dialogs.ModalFilterUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0003, $A9EA;
- (*$END*)
- PROCEDURE SFPGetFile*(where: Types.Point; prompt: Types.ConstStr255Param; fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; dlgHook: DlgHookUPP; VAR reply: SFReply; dlgID: INTEGER; filterProc: Dialogs.ModalFilterUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0004, $A9EA;
- (*$END*)
- PROCEDURE StandardPutFile*(prompt: Types.ConstStr255Param; defaultName: Types.ConstStr255Param; VAR reply: StandardFileReply);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0005, $A9EA;
- (*$END*)
- PROCEDURE StandardGetFile*(fileFilter: FileFilterUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; VAR reply: StandardFileReply);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0006, $A9EA;
- (*$END*)
- PROCEDURE CustomPutFile*(prompt: Types.ConstStr255Param; defaultName: Types.ConstStr255Param; VAR reply: StandardFileReply; dlgID: INTEGER; where: Types.Point; dlgHook: DlgHookYDUPP; filterProc: ModalFilterYDUPP; activeList: ActivationOrderListPtr; activate: ActivateYDUPP; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0007, $A9EA;
- (*$END*)
- PROCEDURE CustomGetFile*(fileFilter: FileFilterYDUPP; numTypes: INTEGER; typeList: ConstSFTypeListPtr; VAR reply: StandardFileReply; dlgID: INTEGER; where: Types.Point; dlgHook: DlgHookYDUPP; filterProc: ModalFilterYDUPP; activeList: ActivationOrderListPtr; activate: ActivateYDUPP; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $3F3C, $0008, $A9EA;
- (*$END*)
- PROCEDURE StandardOpenDialog*(VAR reply: StandardFileReply): Types.OSErr;
- EXTERNAL PASCAL;
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END StandardFile.
-